Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2018, 00:58
Новичок на форуме
Отправить личное сообщение для BesTime Посмотреть профиль Найти все сообщения от BesTime
 
Регистрация: 20.12.2013
Сообщений: 6

Блокировка повторного подключения скриптового файла
Всем привет.
Уже долго бьюсь над следующей проблемой:
Есть главная страница с меню, в нее подгружаются ajax другие страницы.
У каждой подгруженной страницы есть свой скриптовый файл.
Если я захожу на страницу один раз, то все нормально.
Если перейти на другую страницу и вернуться, то скриптовый файл будет опять подгружен и получится что он дублируется, и при выполнение какого-то действия на странице оно выполняется 2 раза. Как определить что этот скриптовый файл уже был загружен и ненужно его грузить заново?

Последний раз редактировалось BesTime, 11.02.2018 в 01:03.
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2018, 01:26
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

var scripts = [];
/* ... */
var s1 = '/scripts/page1.js';
if( scripts.indexOf(s1) == -1 ) {
  scripts.push(s1);
  //загружаем скрипт
}

Последний раз редактировалось Белый шум, 11.02.2018 в 01:29.
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2018, 01:48
Новичок на форуме
Отправить личное сообщение для BesTime Посмотреть профиль Найти все сообщения от BesTime
 
Регистрация: 20.12.2013
Сообщений: 6

Сообщение от Белый шум Посмотреть сообщение
var scripts = [];
/* ... */
var s1 = '/scripts/page1.js';
if( scripts.indexOf(s1) == -1 ) {
  scripts.push(s1);
  //загружаем скрипт
}
То что нужно, спасибо за помощь.
Ответить с цитированием
  #4 (permalink)  
Старый 11.02.2018, 02:41
Новичок на форуме
Отправить личное сообщение для BesTime Посмотреть профиль Найти все сообщения от BesTime
 
Регистрация: 20.12.2013
Сообщений: 6

Не повлияет ли на производительность тот факт что файл все-равно подгружается хоть и пустой?
Ответить с цитированием
  #5 (permalink)  
Старый 11.02.2018, 10:19
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Если загрузка асинхронная, то почти не повлияет. Но всё-равно лучше не подгружать когда заранее известно что он пустой.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блокировка повторного перехода по ссылке Alessio18911 Общие вопросы Javascript 4 21.06.2017 12:21
Не работает ajax удаление, из-за повторного подключения файла. light Общие вопросы Javascript 5 24.09.2014 21:55